Until the 1970's computer manufacturers provided only hardware, operating systems software, and, of particular concern here, communication interfaces which operated in accordance with their own proprietary specifications. This was adequate when most computer installations consisted of large central processors performing local batch processing or time sharing.
By the 1980's, however, distributed processing by mini-computers and especially personal computers had become quite popular. Unfortunately, such an architecture made it difficult for users to share data. It quickly became apparent that a way to support high-speed data communication between different types of computers would be needed. This prompted the Institute of Electrical and Electronic Engineers (IEEE) to begin its Project 802, which had the goal of developing a Open Standard Interconnect (OSI) specification. The OSI would enable efficient intercommunication between computers connected in a local area network (LAN), without the need for end users to worry about implementation details that might vary from manufacturer to manufacturer.
Two conclusions were quickly reached by the IEEE. First, because of the diversity of design, getting different computers to communicate is a complex problem. It requires architecture decisions not only at low levels, such as that of the physical wiring and modulation scheme, but also at higher levels, such as the operating-system level. The IEEE thus developed an OSI LAN reference model having three "layers". A first physical layer is concerned with the nature of the transmission medium. A second layer, called the media access control (MAC) layer, specifies the details of signalling along the physical layer. A third layer, the logical link control (LLC) layer, is concerned with establishing, maintaining, and terminating links between devices.
The IEEE's other conclusion was that no single physical layer standard would be appropriate for all applications. In some applications, such as the typical office environment, performance can be sacrificed for lower cost. The IEEE promulgated its 802.3 Standard, also known as Ethernet, as ideal for that application. In more-critical environments, such as that in a factory, the network must be less susceptible to errors. An 802.4 token-passing standard was developed for those applications.
The 802.4 standard places severe restrictions on the allowable bit error rate. For example, it allows only a 10.sup.-8 detected bit error rate with an input signal-to-noise ratio (SNR) of 30db. If this bit-error-rate restriction is violated, the network is expected to shut down. It is theoretically possible to obtain this bit error rate with a 24db SNR, but most implementations to date achieve this bit error rate at only a 27db SNR. Of course, if the bit error rate can be achieved at a lower signal-to-noise ratio, then the network will continue to operate in a noisier environment.
The 802.4 standard also requires the use of amplitude modulated/phase-shift keying (AM/PSK) modulation for transmission over the physical layer. With this modulation scheme, only one of five possible amplitude levels is transmitted at any instant, the five levels being referred to as -4, -2, 0, +2, and +4. The standard also calls for duobinary encoding, in which the five physical signal levels represent three data symbols: {0}, {2}, and {4}. Thus, symbol {4} is transmitted as either a -4 or +4 amplitude level, symbol {2} is transmitted as either -2 or +2 amplitude level, and symbol {0}as amplitude 0.
Symbols {4} and {0} is used primarily to indicate data one and data zero, respectively.
This coding scheme has several known benefits. Since only the {4} and {0} symbols are used during data transmission, a relatively inexpensive asynchronous demodulator can be used at the receiver, with the presence of carrier indicating symbol {4} and the absence of carrier indicating symbol {0}. A benefit of the duobinary modulation is that the phase of the amplitude level used to indicate a {4} symbol can be alternated, thereby minimizing the bandwidth of the resulting radio frequency signal.
The symbol {2} has several functions. As with other communication schemes, data is sent in long sequences in frames of many bytes delimited by control sequences. The symbol {2} is used as a non-data symbol to construct such control sequences. The IEEE 802.4 Standard specifies a frame format and control sequences, generally speaking, as follows:
______________________________________ .vertline. psil .vertline. prem .vertline. sdel .vertline. data .vertline. edel .vertline. prem .vertline. sdel .vertline. data .vertline. . . . where psil is a "pseudo-silence" sequence used as an idle condition, indicated by repeating the symbols {2}{2}{0}{4}; prem is a preamble sequence of alternating {0} and {4} symbols used to synchronize the receiver symbol time; sdel is the frame start delimiter, indicated by the sequence {2}{2}{0}{2}{2}{0}{0}{0}; and data is the data received, a string of {0} and {4}'s; and edel is one of several possible frame end delimiters, such as {2}{2}{4}{2}{2}{4}{B}{B}, where the {B}'s are a status information symbol of either {0} or {4}. ______________________________________
Symbol {2} is also used to avoid long series of symbol {0}'s or {4}'s during data sequences. With an asynchronous receiver, byte synchronization can drift during such long periods without data transitions. The IEEE 802.4 Standard thus requires two consecutive bytes of all {0} or {4}'s to be modified with special sequences that include {2}'s. In particular, the last three bits of the second byte are modified such that the fifth bit is inverted and the sixth and seventh bit are replaced with a {2}. The Standard refers to these substitutions as a "kicker" sequence.
A problem occurs, however, if one attempts to directly implement this signalling scheme with conventional techniques. Since the {2} symbol is represented by an amplitude level midway between a maximum and minimum amplitude, it is more difficult to detect than a {4} or {0}. A typical frame includes a data sequence of a thousand or more symbols, and the entire frame must be re-transmitted if an error occurs in the detection of the frame-delimiting {2}symbol.
Thus, an error in detecting a {2}can have a significant impact on the bit error rate. For example, if the allowable bit error rate is 10.sup.-8, but data frames are about a thousand symbols long, the effective bit error rate seen by the LLC level is about one thousand times worse, or 10.sup.-5, if these errors occur in detecting a {2}.
It thus would be advantageous for received symbols to be corrected. Correction of certain symbols, especially those symbols used for control information, would have maximum impact since the need to retransmit entire frames would thereby be eliminated. Also, it is desirable for this correction to occur at the physical layer; burdening of the upper layers with the details of symbol correction would thereby be avoided.